From 454cb7115795aac9bc018abcae2c81d87b336c8c Mon Sep 17 00:00:00 2001 From: Robert Lipe Date: Wed, 4 Jul 2018 15:00:52 -0500 Subject: [PATCH] Revert stupid commits MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Grrr. Github desktop works exactly like git command line doesn’t for uncommitted files. :-/ --- GPSBabel.build/Release/GPSBabel.build/dgph | Bin 77 -> 0 bytes GPSBabel.build/Release/GPSBabel.build/dgph~ | Bin 77 -> 0 bytes .../Script-5E618435888B9D49F8540165.sh | 2 - .../Script-7EF0942E79C014DCEC8976BC.sh | 2 - .../Release/Qt Preprocess.build/dgph | Bin 41184 -> 0 bytes .../Release/Qt Preprocess.build/dgph~ | Bin 41184 -> 0 bytes GPSBabel.pro.user | 333 ----- cov-int/build-cwd.txt | 1 - cov-int/build-id.txt | 1 - cov-int/build-log.txt | 4 - cov-int/emit/roberts-mbp/emit-db | Bin 134144 -> 0 bytes cov-int/emit/roberts-mbp/emit-db.lock | 1 - cov-int/emit/version | 2 - gui/app.pro.user | 336 ------ lowranceusr.cc_ | 1075 ----------------- rgbcolors.cc_ | 259 ---- xxx.pro | 268 ---- xxx.pro.user | 333 ----- 18 files changed, 2617 deletions(-) delete mode 100644 GPSBabel.build/Release/GPSBabel.build/dgph delete mode 100644 GPSBabel.build/Release/GPSBabel.build/dgph~ delete mode 100755 GPSBabel.build/Release/Qt Preprocess.build/Script-5E618435888B9D49F8540165.sh delete mode 100755 GPSBabel.build/Release/Qt Preprocess.build/Script-7EF0942E79C014DCEC8976BC.sh delete mode 100644 GPSBabel.build/Release/Qt Preprocess.build/dgph delete mode 100644 GPSBabel.build/Release/Qt Preprocess.build/dgph~ delete mode 100644 GPSBabel.pro.user delete mode 100644 cov-int/build-cwd.txt delete mode 100644 cov-int/build-id.txt delete mode 100644 cov-int/build-log.txt delete mode 100644 cov-int/emit/roberts-mbp/emit-db delete mode 100644 cov-int/emit/roberts-mbp/emit-db.lock delete mode 100644 cov-int/emit/version delete mode 100644 gui/app.pro.user delete mode 100644 lowranceusr.cc_ delete mode 100644 rgbcolors.cc_ delete mode 100644 xxx.pro delete mode 100644 xxx.pro.user diff --git a/GPSBabel.build/Release/GPSBabel.build/dgph b/GPSBabel.build/Release/GPSBabel.build/dgph deleted file mode 100644 index 0d0054fc04c943cefa686d814f4422740c1acee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77 zcmZ>95AZP5Gce)yD$P?+Fi|ivFtp$>w6Fpp16BqGMtufG*3jbAqGARnuA=;;)S{A{ c%z{(~X6E9eWCj+F^n&7~#H7?5Mxa^-0FY4;UH||9 diff --git a/GPSBabel.build/Release/GPSBabel.build/dgph~ b/GPSBabel.build/Release/GPSBabel.build/dgph~ deleted file mode 100644 index 2313a862e1c30dac338c7dffeec587f49e9689e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77 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 X)S8i7T3>m%v}779snp`a!ovRrl}DIT diff --git a/GPSBabel.pro.user b/GPSBabel.pro.user deleted file mode 100644 index 9c4a01e69..000000000 --- a/GPSBabel.pro.user +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - EnvironmentId - {bde38e34-291f-417e-b793-a8af8f4a200a} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - - ProjectExplorer.Project.Target.0 - - Qt 5.5.1 (clang_64) - Qt 5.5.1 (clang_64) - {cb5ee29e-3ecf-4edf-b1c0-c1955cc04bde} - 0 - 0 - 0 - - /Users/robertlipe/src/build-GPSBabel-Qt_5_5_1_clang_64-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /Users/robertlipe/src/build-GPSBabel-Qt_5_5_1_clang_64-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /Users/robertlipe/src/build-GPSBabel-Qt_5_5_1_clang_64-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - true - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - 0 - Deploy - - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy Configuration - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - - - - - ProjectExplorer.CustomExecutableRunConfiguration - 3768 - false - true - false - false - true - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 18 - - - Version - 18 - - diff --git a/cov-int/build-cwd.txt b/cov-int/build-cwd.txt deleted file mode 100644 index 932c3d4a3..000000000 --- a/cov-int/build-cwd.txt +++ /dev/null @@ -1 +0,0 @@ -/Users/robertlipe/src/gpsbabel diff --git a/cov-int/build-id.txt b/cov-int/build-id.txt deleted file mode 100644 index 13b451021..000000000 --- a/cov-int/build-id.txt +++ /dev/null @@ -1 +0,0 @@ -default-fb6583ef3ac2752c83d9312b68f55628 \ No newline at end of file diff --git a/cov-int/build-log.txt b/cov-int/build-log.txt deleted file mode 100644 index 3a9dfc48b..000000000 --- a/cov-int/build-log.txt +++ /dev/null @@ -1,4 +0,0 @@ -2018-03-18T03:11:11.316183Z|cov-build|39726|info|> [ERROR] System Integrity Protection is enabled. In order to use cov-build, -2018-03-18T03:11:11.316183Z|cov-build|39726|info|> this must be disabled. If you are confident that SIP has been -2018-03-18T03:11:11.316183Z|cov-build|39726|info|> disabled, pass --no-sip-check to bypass this check. -2018-03-18T03:11:11.316183Z|cov-build|39726|info|> diff --git a/cov-int/emit/roberts-mbp/emit-db b/cov-int/emit/roberts-mbp/emit-db deleted file mode 100644 index bd062072acedbf9611cf150e4ac531d9a7264f07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134144 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 UVb>sxvo{pm4`bn2;{opf0eS?!*Z=?k diff --git a/cov-int/emit/roberts-mbp/emit-db.lock b/cov-int/emit/roberts-mbp/emit-db.lock deleted file mode 100644 index d0c8883b7..000000000 --- a/cov-int/emit/roberts-mbp/emit-db.lock +++ /dev/null @@ -1 +0,0 @@ -roberts-mbp \ No newline at end of file diff --git a/cov-int/emit/version b/cov-int/emit/version deleted file mode 100644 index 7e278ed80..000000000 --- a/cov-int/emit/version +++ /dev/null @@ -1,2 +0,0 @@ -# Version file created with Prevent version 2017.07 -212 diff --git a/gui/app.pro.user b/gui/app.pro.user deleted file mode 100644 index bcf8d80dd..000000000 --- a/gui/app.pro.user +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - EnvironmentId - {bde38e34-291f-417e-b793-a8af8f4a200a} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.9.5 clang 64bit - Desktop Qt 5.9.5 clang 64bit - qt.595.clang_64_kit - 0 - 0 - 0 - - /Users/robertlipe/src/gpsbabel/build-app-Desktop_Qt_5_9_5_clang_64bit-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /Users/robertlipe/src/gpsbabel/build-app-Desktop_Qt_5_9_5_clang_64bit-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /Users/robertlipe/src/gpsbabel/build-app-Desktop_Qt_5_9_5_clang_64bit-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - true - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - 0 - Deploy - - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy Configuration - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - app - - Qt4ProjectManager.Qt4RunConfiguration:/Users/robertlipe/src/gpsbabel/gui/app.pro - true - - app.pro - false - - /Users/robertlipe/src/gpsbabel/build-app-Desktop_Qt_5_9_5_clang_64bit-Debug/objects/GPSBabelFE.app/Contents/MacOS - 3768 - false - true - false - false - true - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 18 - - - Version - 18 - - diff --git a/lowranceusr.cc_ b/lowranceusr.cc_ deleted file mode 100644 index 987c1f76a..000000000 --- a/lowranceusr.cc_ +++ /dev/null @@ -1,1075 +0,0 @@ -/* - Access to Lowrance USR files. - Contributed to gpsbabel by Jason Rust (jrust at rustyparts.com) - - Copyright (C) 2005, 2006, 2007, 2008 Robert Lipe, robertlipe+source@gpsbabel.org - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA - - HISTORY: - - 6/21/05 - Ling Nero (rnlnero@yahoo.com) - - Added Routes, Icons, & Tracks support - - Fixed waypoint date/time stamp conversion - 02/09/08 - oliskoli - - gbfile API - - check for buffer overflows when reading names or comments - 02/25/2008 - Alan Porter (alan@kr4jb.net) - - Added new icons for Lowrance iFinder Expedition C - - Categorized geocaching waypoints using different icons -*/ - - -#include "defs.h" -#include -#include /* for lat/lon conversion */ -#include -#include // atoi - -typedef struct lowranceusr_icon_mapping { - const int value; - const char* icon; -} lowranceusr_icon_mapping_t; - -#define DEF_ICON 10001 - -/* Taken from iFinder 1.8 */ -const lowranceusr_icon_mapping_t lowranceusr_icon_value_table[] = { - { 10000, "diamond 1" }, - { 10001, "diamond 2" }, - { 10002, "diamond 3" }, - { 10003, "x 1" }, - { 10004, "x 2" }, - { 10005, "x 3" }, - { 10006, "cross" }, - { 10007, "house" }, - { 10008, "car" }, - { 10009, "store" }, - { 10010, "gas station" }, - { 10011, "fork and spoon" }, - { 10012, "telephone" }, - { 10013, "airplane" }, - { 10014, "exit sign" }, - { 10015, "stop sign" }, - { 10016, "exclamation" }, - { 10017, "traffic light" }, - { 10018, "american flag" }, - { 10019, "person" }, - { 10020, "restrooms" }, - { 10021, "tree" }, - { 10022, "mountains" }, - { 10023, "campsite" }, - { 10024, "picnic table" }, - { 10025, "deer" }, - { 10026, "deer tracks" }, - { 10027, "turkey tracks" }, - { 10028, "tree stand" }, - { 10029, "bridge" }, - { 10030, "skull and crossbones" }, - { 10031, "fish" }, - { 10032, "two fish" }, - { 10033, "dive flag" }, - { 10034, "wreck" }, - { 10035, "anchor" }, - { 10036, "boat" }, - { 10037, "boat ramp" }, - { 10038, "flag buoy" }, - { 10039, "dam" }, - { 10040, "swimmer" }, - { 10041, "pier"}, - - /* The following list is from TopoFusion */ - - { 10000, "Waypoint" }, /* diamond 1 */ - { DEF_ICON, "Text Label (No Dot)" }, - { 10018, "Trailhead" }, /* american flag */ - { 10023, "Campground" }, /* campsite */ - { 10022, "Summit" }, /* mountains */ - { DEF_ICON, "Tall Tower" }, - { DEF_ICON, "Short Tower" }, - { 10021, "Forest" }, /* tree */ - { DEF_ICON, "Mine" }, -// { 10038, "Geocache" }, /* flag buoy */ -// { 10016, "Geocache Found" }, /* exclamation */ - { DEF_ICON, "Skiing Area" }, - { 10029, "Crossing" }, /* bridge */ - { 10007, "House" }, /* house */ - { 10003, "Dot" }, /* x 1 */ - { 10025, "Hunting Area" }, /* deer */ - { 10031, "Fishing Area" }, /* fish */ - { 10040, "Swimming Area" }, /* swimmer */ - { 10012, "Telephone" }, /* telephone */ - { 10024, "Rest Area" }, /* picnic table */ - { 10021, "Park" }, /* tree */ - { 10007, "Information" }, /* house */ - { 10022, "Scenic Area" }, /* mountains */ - { DEF_ICON, "Bank/Dollar" }, - { 10009, "Hotel" }, /* store */ - { 10011, "Restaurant" }, /* fork and spoon */ - { 10030, "Danger Area" }, /* skull and crossbones */ - { 10035, "Anchor" }, /* anchor */ - { 10002, "City (Large)" }, /* diamond 3 */ - { 10001, "City (Medium)" }, /* diamond 2 */ - { 10000, "City (Small)" }, /* diamond 1 */ - { DEF_ICON, "Drinking Water" }, - { 10008, "Parking Area" }, /* car */ - { 10023, "RV Park" }, /* campsite */ - { 10020, "Rest Room" }, /* restroom */ - { 10019, "Shower" }, /* person */ - { DEF_ICON, "Tunnel" }, - - /* This list comes from 'wifinder' from ifinder H20 Color */ - - { 10062, "Interesting Land Feature" }, - { 10063, "Global Location" }, - { 10064, "Note" }, - { 10065, "Ghost" }, - { 10066, "Letter" }, - { 10067, "Multi-Treasure" }, - { 10068, "Mystery Or Puzzle" }, - { 10069, "Treasure" }, - { 10070, "Webmail" }, - { 10071, "Sun" }, - { 10072, "Musical Note" }, - { 10073, "Camera/Movie Theater" }, - { 10074, "Star" }, - { 10075, "Coffee Mug" }, - { 10076, "Books" }, - { 10077, "Historical Marker" }, - { 10078, "Tools/Repair" }, - { 10079, "Favorite" }, - { 10080, "Arena" }, - { 10081, "Golf Course" }, - { 10082, "Money/Atm" }, - - /* This list comes from Alan Porter , using an iFinder Expedition C */ - - { 10042, "icon42" }, // black box with red X - { 10043, "icon43" }, // small red dot - { 10044, "icon44" }, // 4-wheeler - { 10045, "icon45" }, // hiding hunter - { 10046, "icon46" }, // tree (yellow base) - { 10047, "icon47" }, // windmill - { 10048, "icon48" }, // camera - { 10049, "icon49" }, // tree (something in front of base) - { 10050, "icon50" }, // tree (something hanging from left side) - { 10051, "icon51" }, // 4 dots in rhombus shape - { 10052, "icon52" }, // bare winter tree - { 10053, "icon53" }, // hiding deer head peeking over bushes - { 10054, "icon54" }, // piston? over a pile of salt? - { 10055, "icon55" }, // corn - { 10056, "icon56" }, // turkey - { 10057, "icon57" }, // duck - { 10058, "icon58" }, // hen - { 10059, "icon59" }, // rabbit - { 10060, "icon60" }, // paw print - { 10061, "icon61" }, // 2 red flames? - - /* These are the icons that gpsbabel will use */ - - { 10038, "Geocache" }, // flag buoy - { 10016, "Geocache Found" }, // exclamation - { 10043, "Micro-Cache" }, // small red dot - { 10065, "Virtual cache" }, // ghost - { 10051, "Multi-Cache" }, // 4 dots in rhombus shape - { 10068, "Unknown Cache" }, // ? mark - { 10045, "Locationless (Reverse) Cache" }, // hiding hunter - { 10066, "Post Office" }, // letter - { 10019, "Event Cache" }, // person - { 10070, "Webcam Cache" }, // webcam - { 10042, "Disabled Cache" }, // black box with red X - - { -1, nullptr } -}; - -static gbfile* file_in; -static gbfile* file_out; -static short_handle mkshort_handle; - -static unsigned short waypt_out_count; -static unsigned int trail_count, lowrance_route_count; -static int trail_point_count; -static char continuous = 1; -static short num_section_points; -static route_head* trk_head; -static route_head* rte_head; -static char* ignoreicons; -static char* writeasicons; -static char* merge; -static char* seg_break; -static char* wversion_arg; -static int reading_version; -static int writing_version; - -#define MYNAME "Lowrance USR" - -#define MAXUSRSTRINGSIZE 256 -#define SEMIMINOR 6356752.3142 -#define DEGREESTORADIANS 0.017453292 -#define SECSTO2000 946713600 -#define MAX_TRAIL_POINTS 9999 -#define UNKNOWN_USR_ALTITUDE METERS_TO_FEET(-10000) /* -10000ft is how the unit stores unknown */ - -/* Jan 1, 2000 00:00:00 */ -const time_t base_time_secs = 946706400; - -static int -lowranceusr_readstr(char* buf, const int maxlen, gbfile* file) -{ - int org, len; - - org = len = gbfgetint32(file); - if (len < 0) { - fatal(MYNAME ": Invalid item length (%d)!\n", len); - } else if (len) { - int i; - if (len > maxlen) { - len = maxlen; - } - (void) gbfread(buf, 1, len, file); - if (org > maxlen) { - (void) gbfseek(file, org - maxlen, SEEK_CUR); - } - // IWay 350C puts 0x01 for the accented o in the street name - // of the Montreal Holiday Inn. - for (i = 0; i < len; i++) { - if (buf[i] == 0x01) { - buf[i] = '*'; - } - } - - } - - return len; -} - -const QString -lowranceusr_find_desc_from_icon_number(const int icon) -{ - const lowranceusr_icon_mapping_t* i; - - for (i = lowranceusr_icon_value_table; i->icon; i++) { - if (icon == i->value) { - return i->icon; - } - } - - return ""; -} - -static int -lowranceusr_find_icon_number_from_desc(const QString& desc) -{ - const lowranceusr_icon_mapping_t* i; - int n; - - if (desc.isNull()) { - return DEF_ICON; - } - - /* - * If we were given a numeric icon number as a description - * (i.e. 8255), just return that. - */ - n = desc.toInt(); - if (n) { - return n; - } - - - for (i = lowranceusr_icon_value_table; i->icon; i++) { - if (desc.compare(i->icon,Qt::CaseInsensitive) == 0) { - return i->value; - } - } - - return DEF_ICON; -} - -static -arglist_t lowranceusr_args[] = { - { - "ignoreicons", &ignoreicons, "Ignore event marker icons on read", - nullptr, ARGTYPE_BOOL, ARG_NOMINMAX, nullptr - }, - { - "writeasicons", &writeasicons, "Treat waypoints as icons on write", - nullptr, ARGTYPE_BOOL, ARG_NOMINMAX, nullptr - }, - { - "merge", &merge, "(USR output) Merge into one segmented track", - nullptr, ARGTYPE_BOOL, ARG_NOMINMAX, nullptr - }, - { - "break", &seg_break, "(USR input) Break segments into separate tracks", - nullptr, ARGTYPE_BOOL, ARG_NOMINMAX, nullptr - }, - { - "wversion", &wversion_arg, "(USR output) Write version", - "2", ARGTYPE_INT, "2", "3", nullptr - }, - ARG_TERMINATOR -}; - -static void -rd_init(const QString& fname) -{ - file_in = gbfopen_le(fname, "rb", MYNAME); -} - -static void -rd_deinit() -{ - gbfclose(file_in); -} - -static void -wr_init(const QString& fname) -{ - file_out = gbfopen_le(fname, "wb", MYNAME); - mkshort_handle = mkshort_new_handle(); - waypt_out_count = 0; - writing_version = atoi(wversion_arg); -} - -static void -wr_deinit() -{ - gbfclose(file_out); - mkshort_del_handle(&mkshort_handle); -} - -/** - * Latitude and longitude for USR coords are in the lowrance mercator meter - * format in WGS84. The below code converts them to degrees. - */ -static double -lon_mm_to_deg(double x) -{ - return x / (DEGREESTORADIANS * SEMIMINOR); -} - -static long -lon_deg_to_mm(double x) -{ - return lround(x * SEMIMINOR * DEGREESTORADIANS); -} - -static double -lat_mm_to_deg(double x) -{ - return (2.0 * atan(exp(x / SEMIMINOR)) - M_PI / 2.0) / DEGREESTORADIANS; -} - -static long -lat_deg_to_mm(double x) -{ - return (long)(SEMIMINOR * log(tan((x * DEGREESTORADIANS + M_PI / 2.0) / 2.0))); -} - -static void -lowranceusr_parse_waypt(Waypoint* wpt_tmp) -{ - char buff[MAXUSRSTRINGSIZE + 1]; - int text_len; - - wpt_tmp->latitude = lat_mm_to_deg(gbfgetint32(file_in)); - wpt_tmp->longitude = lon_mm_to_deg(gbfgetint32(file_in)); - wpt_tmp->altitude = FEET_TO_METERS(gbfgetint32(file_in)); - if (METERS_TO_FEET(wpt_tmp->altitude) <= -10000) { - wpt_tmp->altitude = unknown_alt; - } - - text_len = lowranceusr_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in); - if (text_len) { - buff[text_len] = '\0'; - wpt_tmp->shortname = buff; - } - - if (global_opts.debug_level >= 1) - printf(MYNAME " parse_waypt: Waypt name = %s Lat = %f Lon = %f alt = %f\n",qPrintable(wpt_tmp->shortname), wpt_tmp->latitude, - wpt_tmp->longitude, wpt_tmp->altitude); - - text_len = lowranceusr_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in); - if (text_len) { - buff[text_len] = '\0'; - wpt_tmp->description = buff; - } - /* Time is number of seconds since Jan. 1, 2000 */ - time_t waypt_time = gbfgetint32(file_in); - if (waypt_time) { - wpt_tmp->SetCreationTime(base_time_secs + waypt_time); - } - - if (global_opts.debug_level >= 2) { - printf(MYNAME " parse_waypt: creation time %d\n", - (int)wpt_tmp->creation_time.toTime_t()); - printf(MYNAME " parse_waypt: base_time %d\n", (int)base_time_secs); - printf(MYNAME " parse_waypt: waypt time %d\n", (int)waypt_time); - } - - /* Symbol ID */ - wpt_tmp->icon_descr = lowranceusr_find_desc_from_icon_number(gbfgetint32(file_in)); - if (wpt_tmp->icon_descr.isNull()) { - char nbuf[10]; - snprintf(nbuf, sizeof(nbuf), "%d", le_read32(buff)); - wpt_tmp->icon_descr = nbuf; - } - - /* Waypoint Type (USER, TEMPORARY, POINT_OF_INTEREST) */ - short waypt_type = gbfgetint16(file_in); - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_waypt: waypt_type = %d\n",waypt_type); - } - - // Version 3 has a depth field here. - if (reading_version >= 3) { - float depth_feet = gbfgetflt(file_in); - if (std::abs(depth_feet - 99999.0) > .1) { - WAYPT_SET(wpt_tmp, depth, FEET_TO_METERS(depth_feet)); - } - } - -} - - - -static void -lowranceusr_parse_routes() -{ - char buff[MAXUSRSTRINGSIZE + 1]; - short int num_routes, num_legs; - int text_len; - Waypoint* wpt_tmp; - - num_routes = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_routes: Num Routes = %d\n", num_routes); - } - - for (int i = 0; i < num_routes; i++) { - rte_head = route_head_alloc(); - route_add_head(rte_head); - rte_head->rte_num = i+1; - - /* route name */ - text_len = lowranceusr_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in); - if (text_len) { - buff[text_len] = '\0'; - rte_head->rte_name = buff; - } - - /* num Legs */ - num_legs = gbfgetint16(file_in); - - /* route reversed */ - (void) gbfread(&buff[0], 1, 1, file_in); - - /* waypoints */ - for (int j = 0; j < num_legs; j++) { - wpt_tmp = new Waypoint; - lowranceusr_parse_waypt(wpt_tmp); - route_add_wpt(rte_head, wpt_tmp); - } - } -} - -/* - * Icons are automatically converted to waypoints unless - * option of ignoreicons is used - */ -static void -lowranceusr_parse_icons() -{ - char buff[MAXUSRSTRINGSIZE + 1]; - short int num_icons; - int i; - - num_icons = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_icons: num Icons = %d\n", num_icons); - } - - for (i=0; i < num_icons && !gbfeof(file_in); i++) { - if (ignoreicons) { - /* position coord lat & long */ - (void) gbfread(&buff[0], 4, 2, file_in); - /* symbol */ - (void) gbfread(&buff[0], 4, 1, file_in); - } else { - Waypoint* wpt_tmp; - wpt_tmp = new Waypoint; - - /* position coord lat & long */ - wpt_tmp->latitude = lat_mm_to_deg(gbfgetint32(file_in)); - wpt_tmp->longitude = lon_mm_to_deg(gbfgetint32(file_in)); - wpt_tmp->altitude = 0; - snprintf(buff, sizeof(buff), "Icon %d", i+1); - wpt_tmp->shortname = buff; - /* symbol */ - wpt_tmp->icon_descr = lowranceusr_find_desc_from_icon_number(gbfgetint32(file_in)); - waypt_add(wpt_tmp); - } - } - -} - -static void -lowranceusr_parse_trails() -{ - int text_len; - Waypoint* wpt_tmp; - route_head* trk_tmp; - - /* num trails */ - short int num_trails = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_trails: num trails = %d\n", num_trails); - } - - int trk_num = 0; - for (int i = trk_num = 0; i < num_trails && !gbfeof(file_in); i++) { - trk_head = route_head_alloc(); - trk_head->rte_num = ++trk_num; - track_add_head(trk_head); - - char buff[MAXUSRSTRINGSIZE + 1]; - short int num_trails, num_trail_points, num_section_points; - - /* trail name */ - int text_len = lowranceusr_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_trails: name text len = %d\n", text_len); - } - - if (text_len) { - buff[text_len] = '\0'; - trk_head->rte_name = buff; - } - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_trails: trail name = %s\n", qPrintable(trk_head->rte_name)); - } - - /* visible */ - (void) gbfread(&buff[0], 1, 1, file_in); - /* num trail points */ - num_trail_points = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_trails: num trail points = %d\n", num_trail_points); - } - - /* max trail size */ - int itmp = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_trails: max trail size = %d\n", itmp); - } - - if (num_trail_points) { - - while (num_trail_points && !gbfeof(file_in)) { - /* num section points */ - num_section_points = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_trails: num section points = %d\n", num_section_points); - } - - for (int j = 0; j < num_section_points && !gbfeof(file_in); - j++, num_trail_points--) { - wpt_tmp = new Waypoint; - wpt_tmp->latitude = lat_mm_to_deg(gbfgetint32(file_in)); - wpt_tmp->longitude = lon_mm_to_deg(gbfgetint32(file_in)); - /* continuous */ - (void) gbfread(&buff[0], 1, 1, file_in); - if (!buff[0] && seg_break && j) { - trk_tmp = route_head_alloc(); - trk_tmp->rte_num = ++trk_num; - trk_tmp->rte_name = trk_head->rte_name; - track_add_head(trk_tmp); - trk_head = trk_tmp; - } - track_add_wpt(trk_head, wpt_tmp); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " parse_trails: Trail pt lat %f lon %f\n", wpt_tmp->latitude, wpt_tmp->longitude); - } - } - } - } - /* remove the trail since it's empty */ - else { - track_del_head(trk_head); - } - } -} - -static void -data_read() -{ - short int NumWaypoints, MajorVersion, MinorVersion, object_num; - int i; - - MajorVersion = gbfgetint16(file_in); - reading_version = MajorVersion; - MinorVersion = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " data_read: Major Version %d Minor Version %d\n", MajorVersion, MinorVersion); - } - - if (MajorVersion < 2) { - fatal(MYNAME ": input file is from an old version of the USR file and is not supported\n"); - } - if (MajorVersion == 4) { - fatal(MYNAME ": this appears to be a USR v4 file: use the lowranceusr4 format\n"); - } - if (MajorVersion > 4) { - fatal(MYNAME ": input file version %d is not supported\n", - MajorVersion); - } - - NumWaypoints = gbfgetint16(file_in); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " data_read: Num waypoints %d\n", NumWaypoints); - } - - for (i = 0; i < NumWaypoints && !gbfeof(file_in); i++) { - Waypoint* wpt_tmp; - - wpt_tmp = new Waypoint; - - /* Object num */ - object_num = gbfgetint16(file_in); - if (global_opts.debug_level >= 1) { - printf(MYNAME " data_read: object_num = %d\n", object_num); - } - - /* waypoint */ - lowranceusr_parse_waypt(wpt_tmp); - - waypt_add(wpt_tmp); - } - - lowranceusr_parse_routes(); - lowranceusr_parse_icons(); - lowranceusr_parse_trails(); -} - -static void -lowranceusr_waypt_disp(const Waypoint* wpt) -{ - int Lat, Lon, Time, SymbolId; - short int WayptType; - int alt = METERS_TO_FEET(wpt->altitude); - - if (wpt->altitude == unknown_alt) { - alt = UNKNOWN_USR_ALTITUDE; - } - - Lat = lat_deg_to_mm(wpt->latitude); - Lon = lon_deg_to_mm(wpt->longitude); - gbfputint32(Lat, file_out); - gbfputint32(Lon, file_out); - gbfputint32(alt, file_out); - - if (writing_version >= 3) { - float depth = WAYPT_HAS(wpt, depth) ? - METERS_TO_FEET(wpt->depth) : -99999.0; - gbfputflt(depth, file_out); - } - - if (global_opts.debug_level >= 1) { - /* print lat/lon/alt on one easily greppable line */ - printf(MYNAME " waypt_disp: Lat = %d Lon = %d Alt = %d\n",Lat, Lon, alt); - } - - /* Try and make sure we have a name */ -// this kind of thing would probably be more readable like -// name = blah. -// if name.isEmpty() -// name = planB; -// if name.isEmpty() -// name = planC; -// ... - QString name; - if ((wpt->shortname.isEmpty()) || global_opts.synthesize_shortnames) { - if (!wpt->description.isEmpty() && global_opts.synthesize_shortnames) { - name = mkshort_from_wpt(mkshort_handle, wpt); - } else if (!wpt->shortname.isEmpty()) { - name = wpt->shortname; - } else if (!wpt->description.isEmpty()) { - name = wpt->description; - } - } else { - name = wpt->shortname; - } - - text_len = name.length(); - if (text_len > MAXUSRSTRINGSIZE) { - text_len = MAXUSRSTRINGSIZE; - } - gbfputint32(text_len, file_out); - gbfwrite(CSTRc(name), 1, text_len, file_out); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " waypt_disp: Waypt name = %s\n", qPrintable(name)); - } - - /** - * Comments are now used by the iFinder (Expedition C supports them) - */ - if (wpt->description != wpt->shortname) { - QString comment = wpt->description; - text_len = comment.length(); - if (text_len > MAXUSRSTRINGSIZE) { - text_len = MAXUSRSTRINGSIZE; - } - gbfputint32(text_len, file_out); - gbfwrite(CSTR(comment), 1, text_len, file_out); - } else { - text_len = 0; - gbfputint32(text_len, file_out); - } - - if (wpt->creation_time.toTime_t() > base_time_secs) { - Time = wpt->creation_time.toTime_t() - base_time_secs; - } else { - Time = 0; - } - - if (global_opts.debug_level >= 2) { - time_t wpt_time = Time; - printf(MYNAME " waypt_disp: base_time : %d\n", (int)base_time_secs); - printf(MYNAME " waypt_disp: creation time : %d\n", (int)wpt->creation_time.toTime_t()); - printf(MYNAME " waypt_disp: waypt time : %d\n", (int)wpt_time); - printf(MYNAME " waypt_disp: waypt time (local): %s\n", ctime(&wpt_time)); - } - - gbfputint32(Time, file_out); - - if (get_cache_icon(wpt) && wpt->icon_descr.compare(QLatin1String("Geocache Found")) == 0) { - SymbolId = lowranceusr_find_icon_number_from_desc(get_cache_icon(wpt)); - } else { - SymbolId = lowranceusr_find_icon_number_from_desc(wpt->icon_descr); - } - /* If the waypoint is archived or disabled, use a "disabled" icon instead. */ - if ((wpt->gc_data->is_archived==status_true) || (wpt->gc_data->is_available==status_false)) { - SymbolId = lowranceusr_find_icon_number_from_desc("Disabled Cache"); - } - - gbfputint32(SymbolId, file_out); - - /* USER waypoint type */ - WayptType = 0; - gbfputint16(WayptType, file_out); -} - -static void -lowranceusr_waypt_pr(const Waypoint* wpt) -{ - - /* our personal waypoint counter */ - gbfputint16(waypt_out_count, file_out); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " waypt_pr: waypoint #%d ",waypt_out_count); - } - - waypt_out_count++; - - lowranceusr_waypt_disp(wpt); -} - -/* - * In Lowrance parlance, an "Icon" is a waypoint but without any - * kind of a name. The header count of icons has already been written - * before we get here, so it's just a matter of spitting out - * 4 bytes lat - * 4 bytes long - * 4 bytes symbol - */ -static void -lowranceusr_write_icon(const Waypoint* wpt) -{ - int latmm = lat_deg_to_mm(wpt->latitude); - int lonmm = lon_deg_to_mm(wpt->longitude); - int icon = !wpt->icon_descr.isNull() ? - lowranceusr_find_icon_number_from_desc(wpt->icon_descr) : - 10003; - - gbfputint32(latmm, file_out); - gbfputint32(lonmm, file_out); - gbfputint32(icon, file_out); -} - -/* - * Header format: - * short num_trails, - * int trail_name text length, - * char *trail_name, - * boolean visible, - * short num_trail_points, - * short max_trail_size, - * short num_section_points - * == don't know how many max points per section so - * == use num_trail_points for now - * == Once this is known then the waypoints ought to be - * == broken up into sections - */ - -static void -lowranceusr_track_hdr(const route_head* trk) -{ - int text_len; - QString name; - short num_trail_points, max_trail_size; - char visible=1; - - ++trail_count; -//TODO: This whole function needs to be replaced... - if (!trk->rte_name.isEmpty()) { - name = trk->rte_name; - } else if (!trk->rte_desc.isEmpty()) { - name = trk->rte_desc; - } else { - name = name + QString("Babel %1").arg(trail_count); - } - - text_len = name.length(); - if (text_len > MAXUSRSTRINGSIZE) { - text_len = MAXUSRSTRINGSIZE; - } - - -static void -lowranceusr_route_hdr(const route_head* rte) -{ - char* name, - char route_reversed=0; - - /* route name */ - //TODO: This whole function needs to be replaced... - if (!rte->rte_name.isEmpty()) { - name = xstrdup(rte->rte_name); - } else if (!rte->rte_desc.isEmpty()) { - name = xstrdup(rte->rte_desc); - } else { - char tmp_name[20]; - tmp_name[0]='\0'; - snprintf(tmp_name, sizeof(tmp_name), "Babel R%d", ++lowrance_route_count); - name = xstrdup(tmp_name); - } - int text_len = strlen(name); - if (text_len > MAXUSRSTRINGSIZE) { - text_len = MAXUSRSTRINGSIZE; - } - gbfputint32(text_len, file_out); - gbfwrite(name, 1, text_len, file_out); - xfree(name); - - /* num legs */ - short num_legs = (short) rte->rte_waypt_ct; - gbfputint16(num_legs, file_out); - gbfwrite(&route_reversed, 1, 1, file_out); - - if (global_opts.debug_level >= 1) - printf(MYNAME " route_hdr: route name \"%s\" num_legs = %d\n", - qPrintable(rte->rte_name), num_legs); - -} - -static void -lowranceusr_track_disp(const Waypoint* wpt) -{ - int lat, lon; - - if (++trail_point_count <= MAX_TRAIL_POINTS) { - lat = lat_deg_to_mm(wpt->latitude); - lon = lon_deg_to_mm(wpt->longitude); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " track_disp: Trail point #%d lat = %d long = %d\n",trail_point_count, lat, lon); - } - - gbfputint32(lat, file_out); - gbfputint32(lon, file_out); - gbfwrite(&continuous, 1, 1, file_out); - if (!continuous) { - continuous = 1; - } - } -} - -static void -lowranceusr_merge_track_hdr(const route_head* trk) -{ - int text_len; - char* name, tmp_name[20]; - - if (++trail_count == 1) { - if (!trk->rte_name.isEmpty()) { - name = xstrdup(trk->rte_name); - } else if (!trk->rte_desc.isEmpty()) { - name = xstrdup(trk->rte_desc); - } else { - tmp_name[0]='\0'; - snprintf(tmp_name, sizeof(tmp_name), "Babel %d", trail_count); - name = xstrdup(tmp_name); - } - text_len = strlen(name); - if (text_len > MAXUSRSTRINGSIZE) { - text_len = MAXUSRSTRINGSIZE; - } - gbfputint32(text_len, file_out); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " track_hdr: trail name = %s\n", name); - } - - gbfwrite(name, 1, text_len, file_out); - } - - trail_point_count += (short) trk->rte_waypt_ct; -} - -static void -lowranceusr_merge_track_tlr(const route_head*) -{ - char visible=1; - - if (trail_count == track_count()) { /* last trail */ - short num_trail_points = trail_point_count; - max_trail_size = MAX_TRAIL_POINTS; - if (num_trail_points > max_trail_size) { - num_trail_points = max_trail_size; - } - short num_section_points = num_trail_points; - - if (global_opts.debug_level >= 1) - printf(MYNAME " merge_track_tlr: num_trail_points = %d\nmax_trail_size = %d\nnum_section_points = %d\n", - num_trail_points, max_trail_size, num_section_points); - - gbfwrite(&visible, 1, 1, file_out); - gbfputint16(num_trail_points, file_out); - gbfputint16(max_trail_size, file_out); - gbfputint16(num_section_points, file_out); - } -} -static void - -lowranceusr_merge_track_hdr_2(const route_head*) -{ - continuous = 0; -} - -static void -data_write() -{ - short int NumWaypoints, MajorVersion, MinorVersion, NumRoutes, NumTrails, NumIcons; - setshort_length(mkshort_handle, 15); - MajorVersion = writing_version; - MinorVersion = 0; - - NumWaypoints = waypt_count(); - - gbfputint16(MajorVersion, file_out); - gbfputint16(MinorVersion, file_out); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " data_write: Num waypoints = %d\n", NumWaypoints); - } - - if (writeasicons) { - short zero = 0; - gbfputint16(zero, file_out); - } else { - gbfputint16(NumWaypoints, file_out); - waypt_disp_all(lowranceusr_waypt_pr); - } - - /* Route support added 6/21/05 */ - NumRoutes = route_count(); - gbfputint16(NumRoutes, file_out); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " data_write: Num routes = %d\n", NumRoutes); - } - - if (NumRoutes) { - lowrance_route_count=0; - route_disp_all(lowranceusr_route_hdr, nullptr, lowranceusr_waypt_disp); - } - - if (NumWaypoints && writeasicons) { - gbfputint16(NumWaypoints, file_out); - waypt_disp_all(lowranceusr_write_icon); - } else { - NumIcons = 0; - gbfputint16(NumIcons, file_out); - } - - /* Track support added 6/21/05 */ - NumTrails = track_count(); - - if (NumTrails && merge) { - NumTrails = 1; - gbfputint16(NumTrails, file_out); - trail_point_count = 0; - trail_count = 0; - /* count the number of total track points */ - track_disp_all(lowranceusr_merge_track_hdr, lowranceusr_merge_track_tlr, nullptr); - /* write out the new track header */ - trail_point_count = 0; - track_disp_all(lowranceusr_merge_track_hdr_2, nullptr, lowranceusr_track_disp); - - } else { - - gbfputint16(NumTrails, file_out); - - if (global_opts.debug_level >= 1) { - printf(MYNAME " data_write: Num tracks = %d\n", NumTrails); - } - - if (NumTrails) { - trail_count=0; - track_disp_all(lowranceusr_track_hdr, nullptr, lowranceusr_track_disp); - } - } -} - - -ff_vecs_t lowranceusr_vecs = { - ff_type_file, - FF_CAP_RW_ALL, - rd_init, - wr_init, - rd_deinit, - wr_deinit, - data_read, - data_write, - nullptr, - lowranceusr_args, - CET_CHARSET_ASCII, 0 /* CET-REVIEW */ - , NULL_POS_OPS, - nullptr -}; diff --git a/rgbcolors.cc_ b/rgbcolors.cc_ deleted file mode 100644 index a3faf2fb0..000000000 --- a/rgbcolors.cc_ +++ /dev/null @@ -1,259 +0,0 @@ -/* - Color utilities. - - Copyright (C) 2005 Robert Lipe, robertlipe+source@gpsbabel.org - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA - - */ - -#include "defs.h" -#include -#include - -/* - * Colors derived from http://www.w3.org/TR/SVG/types.html#ColorKeywords - * which is also referenced in the CSS3 spec from w3.org as being the - * same colors supported by X11. - */ - -static const struct { - const char* cn; - unsigned char r_; - unsigned char g_; - unsigned char b_; -} color_table[] = { - {"aliceblue", 240, 248, 255}, - {"antiquewhite", 250, 235, 215}, - {"aqua", 0, 255, 255}, - {"aquamarine", 127, 255, 212}, - {"azure", 240, 255, 255}, - {"beige", 245, 245, 220}, - {"bisque", 255, 228, 196}, - {"black", 0, 0, 0}, - {"blanchedalmond", 255, 235, 205}, - {"blue", 0, 0, 255}, - {"blueviolet", 138, 43, 226}, - {"brown", 165, 42, 42}, - {"burlywood", 222, 184, 135}, - {"cadetblue", 95, 158, 160}, - {"chartreuse", 127, 255, 0}, - {"chocolate", 210, 105, 30}, - {"coral", 255, 127, 80}, - {"cornflowerblue", 100, 149, 237}, - {"cornsilk", 255, 248, 220}, - {"crimson", 220, 20, 60}, - {"cyan", 0, 255, 255}, - {"darkblue", 0, 0, 139}, - {"darkcyan", 0, 139, 139}, - {"darkgoldenrod", 184, 134, 11}, - {"darkgray", 169, 169, 169}, - {"darkgreen", 0, 100, 0}, - {"darkgrey", 169, 169, 169}, - {"darkkhaki", 189, 183, 107}, - {"darkmagenta", 139, 0, 139}, - {"darkolivegreen", 85, 107, 47}, - {"darkorange", 255, 140, 0}, - {"darkorchid", 153, 50, 204}, - {"darkred", 139, 0, 0}, - {"darksalmon", 233, 150, 122}, - {"darkseagreen", 143, 188, 143}, - {"darkslateblue", 72, 61, 139}, - {"darkslategray", 47, 79, 79}, - {"darkslategrey", 47, 79, 79}, - {"darkturquoise", 0, 206, 209}, - {"darkviolet", 148, 0, 211}, - {"deeppink", 255, 20, 147}, - {"deepskyblue", 0, 191, 255}, - {"dimgray", 105, 105, 105}, - {"dimgrey", 105, 105, 105}, - {"dodgerblue", 30, 144, 255}, - {"firebrick", 178, 34, 34}, - {"floralwhite", 255, 250, 240}, - {"forestgreen", 34, 139, 34}, - {"fuchsia", 255, 0, 255}, - {"gainsboro", 220, 220, 220}, - {"ghostwhite", 248, 248, 255}, - {"gold", 255, 215, 0}, - {"goldenrod", 218, 165, 32}, - {"gray", 128, 128, 128}, - {"grey", 128, 128, 128}, - {"green", 0, 128, 0}, - {"greenyellow", 173, 255, 47}, - {"honeydew", 240, 255, 240}, - {"hotpink", 255, 105, 180}, - {"indianred", 205, 92, 92}, - {"indigo", 75, 0, 130}, - {"ivory", 255, 255, 240}, - {"khaki", 240, 230, 140}, - {"lavender", 230, 230, 250}, - {"lavenderblush", 255, 240, 245}, - {"lawngreen", 124, 252, 0}, - {"lemonchiffon", 255, 250, 205}, - {"lightblue", 173, 216, 230}, - {"lightcoral", 240, 128, 128}, - {"lightcyan", 224, 255, 255}, - {"lightgoldenrodyellow", 250, 250, 210}, - {"lightgray", 211, 211, 211}, - {"lightgreen", 144, 238, 144}, - {"lightgrey", 211, 211, 211}, - {"lightpink", 255, 182, 193}, - {"lightsalmon", 255, 160, 122}, - {"lightseagreen", 32, 178, 170}, - {"lightskyblue", 135, 206, 250}, - {"lightslategray", 119, 136, 153}, - {"lightslategrey", 119, 136, 153}, - {"lightsteelblue", 176, 196, 222}, - {"lightyellow", 255, 255, 224}, - {"lime", 0, 255, 0}, - {"limegreen", 50, 205, 50}, - {"linen", 250, 240, 230}, - {"magenta", 255, 0, 255}, - {"maroon", 128, 0, 0}, - {"mediumaquamarine", 102, 205, 170}, - {"mediumblue", 0, 0, 205}, - {"mediumorchid", 186, 85, 211}, - {"mediumpurple", 147, 112, 219}, - {"mediumseagreen", 60, 179, 113}, - {"mediumslateblue", 123, 104, 238}, - {"mediumspringgreen", 0, 250, 154}, - {"mediumturquoise", 72, 209, 204}, - {"mediumvioletred", 199, 21, 133}, - {"midnightblue", 25, 25, 112}, - {"mintcream", 245, 255, 250}, - {"mistyrose", 255, 228, 225}, - {"moccasin", 255, 228, 181}, - {"navajowhite", 255, 222, 173}, - {"navy", 0, 0, 128}, - {"oldlace", 253, 245, 230}, - {"olive", 128, 128, 0}, - {"olivedrab", 107, 142, 35}, - {"orange", 255, 165, 0}, - {"orangered", 255, 69, 0}, - {"orchid", 218, 112, 214}, - {"palegoldenrod", 238, 232, 170}, - {"palegreen", 152, 251, 152}, - {"paleturquoise", 175, 238, 238}, - {"palevioletred", 219, 112, 147}, - {"papayawhip", 255, 239, 213}, - {"peachpuff", 255, 218, 185}, - {"peru", 205, 133, 63}, - {"pink", 255, 192, 203}, - {"plum", 221, 160, 221}, - {"powderblue", 176, 224, 230}, - {"purple", 128, 0, 128}, - {"red", 255, 0, 0}, - {"rosybrown", 188, 143, 143}, - {"royalblue", 65, 105, 225}, - {"saddlebrown", 139, 69, 19}, - {"salmon", 250, 128, 114}, - {"sandybrown", 244, 164, 96}, - {"seagreen", 46, 139, 87}, - {"seashell", 255, 245, 238}, - {"sienna", 160, 82, 45}, - {"silver", 192, 192, 192}, - {"skyblue", 135, 206, 235}, - {"slateblue", 106, 90, 205}, - {"slategray", 112, 128, 144}, - {"slategrey", 112, 128, 144}, - {"snow", 255, 250, 250}, - {"springgreen", 0, 255, 127}, - {"steelblue", 70, 130, 180}, - {"tan", 210, 180, 140}, - {"teal", 0, 128, 128}, - {"thistle", 216, 191, 216}, - {"tomato", 255, 99, 71}, - {"turquoise", 64, 224, 208}, - {"violet", 238, 130, 238}, - {"wheat", 245, 222, 179}, - {"white", 255, 255, 255}, - {"whitesmoke", 245, 245, 245}, - {"yellow", 255, 255, 0}, - {"yellowgreen", 154, 205, 50}, -}; - - -/* - * Functions for converting human-readable colors to BBGGRR value. - * Substantial optimization opportunities remain. - */ -static int HexDigit(char hex) -{ - const char* Digits = "0123456789ABCDEF"; - const char* digits = "0123456789abcdef"; - const char* ofs = strchr(digits, hex); - if (ofs) { - return ofs-digits; - } - - ofs = strchr(Digits, hex); - if (ofs) { - return ofs-Digits; - } - return 0; -} - -// NOTE: undefined if called on a nybble. -static int HexByte(const char* hex) -{ - int b = (HexDigit(hex[0])<<4)+HexDigit(hex[1]); - return b; -} - -/* - * Given an input of the form: - * # - * - * - * return the BBGGRR value for it. - */ - -int -color_to_bbggrr(const char* opt_color) -{ - char* ep; - //fprintf(stderr, opt_color); -//char* pt_color = "#ff8020"; - int color_num = strtol(opt_color, &ep, 10); - - if (ep != opt_color) { - return color_num; - fprintf(stdout, "%d", opt_color , "\'n"); - - if (opt_color[0] == '#') { - #if 0 - color_num = (HexByte(opt_color+1)) + // red - (HexByte(opt_color+3)<<8) + // green - (HexByte(opt_color+5)<<16); // blue - #else - unsigned long rgb; - char* color = (char*) opt_color; - color_num = std::strtoul(color + 1, &color + 7, 16); -#endif - return color_num; - } - - for (auto i = 0; i < sizeof(color_table) / sizeof(color_table[0]); i++) { - if (0 == case_ignore_strcmp(opt_color, color_table[i].cn)) { - return (color_table[i].b_ << 16) + - (color_table[i].g_ << 8) + - color_table[i].r_; - } - } - } - - fatal("unrecognized color name %s\n", opt_color); - return -1; -} diff --git a/xxx.pro b/xxx.pro deleted file mode 100644 index 77e343a89..000000000 --- a/xxx.pro +++ /dev/null @@ -1,268 +0,0 @@ -# Enforce minimum Qt version. -# versionAtLeast() was introduced in Qt 5.10, so we can't count on it being available. -# MIN_QT_VERSION = 5.7 # major[.minor[.patch]] -# MIN_QT_VERSION_COMPONENTS = $$split(MIN_QT_VERSION, .) -# MIN_QT_VERSION_MAJOR = $$member(MIN_QT_VERSION_COMPONENTS, 0) -# MIN_QT_VERSION_MINOR = $$member(MIN_QT_VERSION_COMPONENTS, 1) -# MIN_QT_VERSION_PATCH = $$member(MIN_QT_VERSION_COMPONENTS, 2) -# # count(MIN_QT_VERSION_MINOR, 0): MIN_QT_VERSION_MINOR = 0 -# count(MIN_QT_VERSION_PATCH, 0): MIN_QT_VERSION_PATCH = 0 -# lessThan(QT_MAJOR_VERSION, $$MIN_QT_VERSION_MAJOR) | \ -# if(equals(QT_MAJOR_VERSION, $$MIN_QT_VERSION_MAJOR):lessThan(QT_MINOR_VERSION, $$MIN_QT_VERSION_MINOR)) | \ -# if(equals(QT_MAJOR_VERSION, $$MIN_QT_VERSION_MAJOR):equals(QT_MINOR_VERSION, $$MIN_QT_VERSION_MINOR):lessThan(QT_PATCH_VERSION, $$MIN_QT_VERSION_PATCH)) { -# error("$$QMAKE_QMAKE uses Qt version $$QT_VERSION but version $${MIN_QT_VERSION_MAJOR}.$${MIN_QT_VERSION_MINOR}.$${MIN_QT_VERSION_PATCH} or newer is required.") -# } - -QT -= gui - -TARGET = GPSBabel -CONFIG += console -CONFIG -= app_bundle -CONFIG += c++11 - -TEMPLATE = app - -MINIMAL_FMTS = magproto.cc explorist_ini.cc gpx.cc geo.cc mapsend.cc mapsource.cc garmin.cc \ - garmin_device_xml.cc garmin_tables.cc internal_styles.cc nmea.cc \ - kml.cc wbt-200.cc - -ALL_FMTS=$$MINIMAL_FMTS gtm.cc gpsutil.cc pcx.cc \ - skytraq.cc holux.cc tmpro.cc tpg.cc tpo.cc \ - xcsv.cc tiger.cc easygps.cc \ - saroute.cc navicache.cc psitrex.cc delgpl.cc \ - ozi.cc text.cc html.cc netstumbler.cc \ - igc.cc brauniger_iq.cc shape.cc hiketech.cc glogbook.cc \ - vcf.cc xhtmlent.cc lowranceusr.cc an1.cc tomtom.cc \ - tef_xml.cc maggeo.cc vitosmt.cc gdb.cc bcr.cc \ - ignrando.cc stmwpp.cc cst.cc nmn4.cc compegps.cc \ - yahoo.cc unicsv.cc wfff_xml.cc garmin_txt.cc gpssim.cc \ - stmsdf.cc gtrnctr.cc dmtlog.cc raymarine.cc alan.cc vitovtt.cc \ - ggv_log.cc g7towin.cc garmin_gpi.cc lmx.cc random.cc xol.cc dg-100.cc \ - navilink.cc mtk_logger.cc ik3d.cc osm.cc destinator.cc exif.cc vidaone.cc \ - igo8.cc gopal.cc humminbird.cc mapasia.cc gnav_trl.cc navitel.cc ggv_ovl.cc \ - jtr.cc sbp.cc sbn.cc mmo.cc skyforce.cc itracku.cc v900.cc \ - pocketfms_bc.cc pocketfms_fp.cc pocketfms_wp.cc naviguide.cc enigma.cc \ - vpl.cc teletype.cc jogmap.cc bushnell.cc bushnell_trl.cc wintec_tes.cc \ - subrip.cc garmin_xt.cc garmin_fit.cc lowranceusr4.cc \ - mtk_locus.cc googledir.cc mapbar_track.cc mapfactor.cc f90g_track.cc \ - energympro.cc mynav.cc ggv_bin.cc globalsat_sport.cc geojson.cc - -DEPRECATED_FMTS=cetus.cc copilot.cc gpspilot.cc magnav.cc psp.cc gcdb.cc quovadis.cc gpilots.cc geoniche.cc palmdoc.cc hsa_ndv.cc coastexp.cc pathaway.cc coto.cc msroute.cc mag_pdb.cc axim_gpb.cc delbin.cc google.cc - -DEPRECATED_HEADERS=geo.h quovadis.h -DEPRECATED_SHAPE=pdbfile.cc - -# ALL_FMTS=$$MINIMAL_FMTS -FILTERS=position.cc radius.cc duplicate.cc arcdist.cc polygon.cc smplrout.cc \ - reverse_route.cc sort.cc stackfilter.cc trackfilter.cc discard.cc \ - nukedata.cc interpolate.cc transform.cc height.cc swapdata.cc bend.cc \ - validate.cc -FILTER_HEADERS = $$FILTERS -FILTER_HEADERS ~= s/\.cc/.h/g - -SHAPE=shapelib/shpopen.c shapelib/dbfopen.c shapelib/safileio.c - -ZLIB=zlib/adler32.c zlib/compress.c zlib/crc32.c zlib/deflate.c zlib/inffast.c \ - zlib/inflate.c zlib/infback.c zlib/inftrees.c zlib/trees.c \ - zlib/uncompr.c zlib/gzlib.c zlib/gzclose.c zlib/gzread.c \ - zlib/gzwrite.c zlib/zutil.c - -JEEPS += jeeps/gpsapp.cc jeeps/gpscom.cc \ - jeeps/gpsmath.cc jeeps/gpsmem.cc \ - jeeps/gpsprot.cc jeeps/gpsread.cc \ - jeeps/gpsdevice.cc jeeps/gpsdevice_ser.cc jeeps/gpsdevice_usb.cc \ - jeeps/gpsrqst.cc jeeps/gpssend.cc jeeps/gpsserial.cc jeeps/jgpsutil.cc \ - jeeps/gpsusbread.cc jeeps/gpsusbsend.cc \ - jeeps/gpsusbcommon.cc - - -SUPPORT = queue.cc route.cc waypt.cc filter_vecs.cc util.cc vecs.cc mkshort.cc \ - csv_util.cc strptime.c grtcirc.cc util_crc.cc xmlgeneric.cc \ - formspec.cc xmltag.cc cet.cc cet_util.cc fatal.cc rgbcolors.cc \ - inifile.cc garmin_fs.cc gbsleep.cc units.cc gbser.cc \ - gbfile.cc parse.cc session.cc main.cc globals.cc \ - src/core/usasciicodec.cc \ - src/core/xmlstreamwriter.cc - -HEADERS = \ - an1sym.h \ - cet.h \ - cet/ansi_x3_4_1968.h \ - cet/cp1252.h \ - cet/iso_8859_8.h \ - cet_util.h \ - csv_util.h \ - defs.h \ - explorist_ini.h \ - filter.h \ - filterdefs.h \ - garmin_device_xml.h \ - garmin_fs.h \ - garmin_gpi.h \ - garmin_tables.h \ - gbfile.h \ - gbser.h \ - gbser_private.h \ - gbversion.h \ - grtcirc.h \ - heightgrid.h \ - holux.h \ - inifile.h \ - jeeps/garminusb.h \ - jeeps/gps.h \ - jeeps/gpsapp.h \ - jeeps/gpscom.h \ - jeeps/gpsdatum.h \ - jeeps/gpsdevice.h \ - jeeps/gpsfmt.h \ - jeeps/gpsinput.h \ - jeeps/gpsmath.h \ - jeeps/gpsmem.h \ - jeeps/gpsport.h \ - jeeps/gpsproj.h \ - jeeps/gpsprot.h \ - jeeps/gpsread.h \ - jeeps/gpsrqst.h \ - jeeps/gpssend.h \ - jeeps/gpsserial.h \ - jeeps/gpsusbcommon.h \ - jeeps/gpsusbint.h \ - jeeps/gpsutil.h \ - magellan.h \ - mapsend.h \ - navilink.h \ - queue.h \ - session.h \ - shapelib/shapefil.h \ - strptime.h \ - xmlgeneric.h \ - zlib/crc32.h \ - zlib/deflate.h \ - zlib/gzguts.h \ - zlib/inffast.h \ - zlib/inffixed.h \ - zlib/inflate.h \ - zlib/inftrees.h \ - zlib/trees.h \ - zlib/zconf.h \ - zlib/zlib.h \ - zlib/zutil.h \ - src/core/datetime.h \ - src/core/file.h \ - src/core/logging.h \ - src/core/usasciicodec.h \ - src/core/xmlstreamwriter.h \ - src/core/xmltag.h - -HEADERS += $$FILTER_HEADERS - -INCLUDEPATH += zlib - -load(configure) - -macx|linux { - qtCompileTest(unistd) { - # this is used by zlib - DEFINES += HAVE_UNISTD_H - } - qtCompileTest(stdarg) { - # this is used by zlib - DEFINES += HAVE_STDARG_H - } - DEFINES += HAVE_NANOSLEEP HAVE_LIBUSB HAVE_GLOB - SOURCES += gbser_posix.cc - HEADERS += gbser_posix.h - JEEPS += jeeps/gpslibusb.cc - INCLUDEPATH += jeeps -} - -win32 { - DEFINES += __WIN32__ _CONSOLE - DEFINES -= UNICODE ZLIB_INHIBITED - CONFIG(debug, debug|release) { - DEFINES += _DEBUG - } - SOURCES += gbser_win.cc - HEADERS += gbser_win.h - JEEPS += jeeps/gpsusbwin.cc - LIBS += "-lsetupapi" -} - -win32-msvc* { - DEFINES += _CRT_SECURE_NO_DEPRECATE - QMAKE_CXXFLAGS += /MP -wd4100 -} - -linux { - DEFINES += HAVE_LINUX_HID - LIBS += "-lusb" -} - -macx { - LIBS += -framework IOKit -framework CoreFoundation - INCLUDEPATH += mac/libusb - SOURCES += mac/libusb/darwin.c \ - mac/libusb/descriptors.c \ - mac/libusb/error.c \ - mac/libusb/usb.c - HEADERS += mac/libusb/error.h \ - mac/libusb/usb.h \ - mac/libusb/usbi.h -} - -SOURCES += $$ALL_FMTS $$FILTERS $$SUPPORT $$SHAPE $$ZLIB $$JEEPS -DEFINES += NEW_STRINGS - -# We don't care about stripping things out of the build. Full monty, baby. -DEFINES += MAXIMAL_ENABLED -DEFINES += FILTERS_ENABLED -DEFINES += SHAPELIB_ENABLED -DEFINES += CSVFMTS_ENABLED - -# Creator insists on adding -W to -Wall which results in a completely -# absurd amount of jibber-jabber on perfectly legally formed code. -# Rather than wade through a thousand lines of yammer, let's just nuke -W -# but leave -Wall, which actually has useful stuff. -# Citation: http://stackoverflow.com/questions/18667291/disable-wall-compiler-warnings-in-a-qt-project -QMAKE_CFLAGS_WARN_ON -= -W -QMAKE_CXXFLAGS_WARN_ON -= -W - -macx|linux{ - check.commands = PNAME=./$(TARGET) ./testo - check.depends = $(TARGET) - QMAKE_EXTRA_TARGETS += check -} - -# build the compilation data base used by clang tools including clang-tidy. -macx|linux{ - compile_command_database.target = compile_commands.json - compile_command_database.commands = make clean; bear make - QMAKE_EXTRA_TARGETS += compile_command_database -} - -# run clang-tidy -# example usage: -# make clang-tidy RUN_CLANG_TIDY_FLAGS="-header-filter=.*\\\.h -checks=-*,modernize-use-nullptr -fix" -# It seems to be better to use run-clang-tidy with the compilation database as opposed to -# running clang-tidy directly and listing the -# compilation options on the clang-tidy line after --. -# An example is modernize-use-override which inserts repeadted overrides when run directly, -# but works as expected when run with run-clang-tidy. -clang-tidy.commands = run-clang-tidy.py $(RUN_CLANG_TIDY_FLAGS) -clang-tidy.depends = compile_commands.json -QMAKE_EXTRA_TARGETS += clang-tidy - -# generate coverage report for codacy -# must use gcc, g++ -# dependencies: -# extra ubuntu bionic packages: gcovr -linux{ - coverage.commands = make clean; - coverage.commands += rm -f gpsbabel_coverage.xml; - coverage.commands += ln -sf GPSBabel gpsbabel; - coverage.commands += $(MAKE) CFLAGS=\"$(CFLAGS) -fprofile-arcs -ftest-coverage\" CXXFLAGS=\"$(CXXFLAGS) -fprofile-arcs -ftest-coverage\" LFLAGS=\"$(LFLAGS) --coverage\" && - coverage.commands += ./testo && - coverage.commands += gcov -r $(SOURCES) && - coverage.commands += gcovr -r . --xml --exclude='zlib/*' --exclude='shapelib/*' -o gpsbabel_coverage.xml; - QMAKE_EXTRA_TARGETS += coverage -} diff --git a/xxx.pro.user b/xxx.pro.user deleted file mode 100644 index 4a390dd66..000000000 --- a/xxx.pro.user +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - EnvironmentId - {bde38e34-291f-417e-b793-a8af8f4a200a} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - - ProjectExplorer.Project.Target.0 - - Desktop Qt 5.9.5 clang 64bit - Desktop Qt 5.9.5 clang 64bit - qt.595.clang_64_kit - 0 - 0 - 0 - - /Users/robertlipe/src/build-xxx-Desktop_Qt_5_9_5_clang_64bit-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /Users/robertlipe/src/build-xxx-Desktop_Qt_5_9_5_clang_64bit-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /Users/robertlipe/src/build-xxx-Desktop_Qt_5_9_5_clang_64bit-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - true - false - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - false - - - - 2 - Build - - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - -w - -r - - true - clean - - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - 0 - Deploy - - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy Configuration - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - -1 - - - - - - - ProjectExplorer.CustomExecutableRunConfiguration - 3768 - false - true - false - false - true - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 18 - - - Version - 18 - - -- 2.30.2